import { IconKey } from '@/types'


import BillIcon from './BillIcon'
import StatsIcon from './StatsIcon'
import UserIcon from './UserIcon'
import BackIcon from './BackIcon'
import CloseIcon from './CloseIcon'
import PaymentIcon from './PaymentIcon'
import MembersIcon from './MembersIcon'
import PlusIcon from './PlusIcon'
import SettingIcon from './SettingIcon'
import DeleteIcon from './DeleteIcon'
import EditIcon from './EditIcon'
import CheckIcon from './CheckIcon'
import DateIcon from './DateIcon'
import LocationIcon from './LocationIcon'
import SearchIcon from './SearchIcon'
import InviteIcon from './InviteIcon'
import NoticeIcon from './NoticeIcon'
import HelpIcon from './HelpIcon'
import ShareIcon from './ShareIcon'
import JoinIcon from './JoinIcon'
import CopyIcon from './CopyIcon'
import InfoIcon from './InfoIcon'
import BudgetIcon from './BudgetIcon'
import AllIcon from './AllIcon'
import MoneyIcon from './MoneyIcon'
import AddIcon from './AddIcon'

// category
import DrinkIcon from './category/DrinkIcon'
import HappyIcon from './category/HappyIcon'
import HotelIcon from './category/HotelIcon'
import MealIcon from './category/MealIcon'
import ShoppingIcon from './category/ShoppingIcon'
import TicketIcon from './category/TicketIcon'
import TransportIcon from './category/TransportIcon'

// 一个key指向一个icon  方便使用 
// 规定好key的名称跟icon组件名称对应上，方便管理
const keyToIconMap = {
    bill: BillIcon,
    stats: StatsIcon,
    user: UserIcon,
    notice: NoticeIcon,
    back: BackIcon,
    close: CloseIcon,
    payment: PaymentIcon,
    members: MembersIcon,
    plus: PlusIcon,
    setting: SettingIcon,
    delete: DeleteIcon,
    edit: EditIcon,
    check: CheckIcon,
    date: DateIcon,
    location: LocationIcon,
    search: SearchIcon,
    invite: InviteIcon,
    help: HelpIcon,
    share: ShareIcon,
    join: JoinIcon,
    copy: CopyIcon,
    info: InfoIcon,
    budget: BudgetIcon,
    all: AllIcon,
    money: MoneyIcon,
    add: AddIcon,

    // category
    happy: HappyIcon,
    hotel: HotelIcon,
    meal: MealIcon,
    shopping: ShoppingIcon,
    ticket: TicketIcon,
    transport: TransportIcon,
    drink: DrinkIcon,
}

const ICON_KEYS = Object.keys(keyToIconMap) as Array<IconKey>

export {
    BillIcon,
    StatsIcon,
    UserIcon,
    BackIcon,
    CloseIcon,
    PaymentIcon,
    MembersIcon,
    PlusIcon,
    SettingIcon,
    DeleteIcon,
    EditIcon,
    CheckIcon,
    DateIcon,
    LocationIcon,
    SearchIcon,
    InviteIcon,
    NoticeIcon,
    HelpIcon,
    ShareIcon,
    JoinIcon,
    CopyIcon,
    InfoIcon,
    BudgetIcon,
    AllIcon,
    MoneyIcon,
    AddIcon,

    // category
    DrinkIcon,
    HappyIcon,
    HotelIcon,
    MealIcon,
    ShoppingIcon,
    TicketIcon,
    TransportIcon,

    keyToIconMap,
    ICON_KEYS
}